x86: return value of domain_pirq_to_irq() is signed
authorKeir Fraser <keir.fraser@citrix.com>
Tue, 15 Jun 2010 12:21:03 +0000 (13:21 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Tue, 15 Jun 2010 12:21:03 +0000 (13:21 +0100)
That value can, for forcibly unbound PIRQs, validly be negative, and
for the respective check to catch those cases (and prevent using these
negative values as array index), the respective variables must be of
signed type.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/arch/x86/irq.c

index c4ca46c329c3cf9a7c21bbf2f6caf98ccb9e2978..800ae7e7906b0f0c005f1d99d753287379e7057c 100644 (file)
@@ -875,7 +875,7 @@ static void __do_IRQ_guest(int irq)
 struct irq_desc *domain_spin_lock_irq_desc(
     struct domain *d, int pirq, unsigned long *pflags)
 {
-    unsigned int irq;
+    int irq;
     unsigned long flags;
     struct irq_desc *desc;
 
@@ -1042,7 +1042,7 @@ extern int ioapic_ack_new;
 static int pirq_acktype(struct domain *d, int pirq)
 {
     struct irq_desc  *desc;
-    unsigned int irq;
+    int irq;
 
     irq = domain_pirq_to_irq(d, pirq);
     if ( irq <= 0 )